home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
STUTTGART
/
MATHS
/
PARI
/
PARI1
/
pari
/
ArcReadme
next >
Wrap
Text File
|
1992-01-04
|
7KB
|
195 lines
INTRODUCTION
This is an Archimedes port of GP and PARI.
PARI is a library of C functions for handling mathematical objects.
This includes integers of any length, real numbers of any precision,
p-adic numbers, integers mod n. It also includes polynomials, power series
vectors and matrices of the above.
GP is a calculator that makes use of the PARI library to do calculations
with the above. It has some programming features.
COPYRIGHT INFORMATION
GP and PARI are copyright
C. Batut, D. Bernardi, H. Cohen and M. Olivier.
To use or distribute this package you must read and obey the conditions in
the file pari.readme.
I have permission from the authors to distribute this Archimedes version.
All the original files are included. Three files c.gp, c.es and h.genpari
have small modifications that are used if RISC_OS is defined.
I have had to change some filenames to RISC_OS names.
These files and their RISC_OS versions are listed below. See pari.other.FILES
for what they contain.
I have also added the following files
pari.ArcReadme This file
pari.gp Executable file of the gp calculator
pari.RunGP Exec file to start up gp
pari.a.version_A Assembler source for 'Level 0 kernel'
(for Wingpass assembler)
pari.o.version_A Assembled version of the above
pari.Makefile Makefile for !Make
OBTAINING THE DOCUMENTATION
You will first need to print out the TeX documentation. You will need a copy
of Graeme Toal's Archimedes TeX.
Drag the pari.tex.users directory on to the !TeX icon. Then drag it onto
a suitable printer driver.
To produce the index you will need to sort it by setting the current
directory to pari.tex.users and doing
sort idx std -f
I used sort from David Pillings C Toolkit disk.
Then drag tex.index to !Tex and a printer driver.
USING GP
gp is a command line program. It needs to have version 3.75 of the shared
C library and the floating point emulator loaded.
The file pari.RunGP checks this before loading gp.
The easiest way to run gp is to put gp and RunGP in your library directory
and type *RunGP.
gp uses a great deal of memory. The unsqueezed executable code is 483k.
gp also helps itself to memory for a large stack and some other buffers.
The default sizes for this version are 1000000 bytes stack, 200000 bytes
prime table, 30000 bytes input buffer. In addition gp helps itself to
memory from the heap to store named variables and other things.
Running the testin input with the default sizes takes 1920k.
Fortunately Clib 3.75 allows it to help itself to more memory for these
purposes.
If you have sufficient memory you can run gp in a !SrcEdit task window.
It is possible to run gp on a 1Mb machine, but it will run out of space if
you try to do anything complicated. You will need to run it outside the
desktop and change the default sizes.
Try changing the gp line in RunGP to
gp -s 120000 -p 2000 -b 2000
MAKING GP
To remake gp from the sources you can use the Makefile supplied if you
have desktop C.
It is possible to compile using the -pcc flag, this produces fewer
error mesages, but the result is slightly larger and slower so I have
not done so.
To compile you need to predefine a macro with -DRISC_OS
to supress error messages with -wadfnv and to set !Make to ignore
return codes and continue after errors.
If link runs out of memory increase the next slot before running the
makefile again.
Additional targets in the Makefile are
shrink - squeeze gp
tidy - delete .o. files, copy gp to $.library
If you want to use the PARI library you can make a library
by dragging all the .o. files except gp to !LibFile
To use the library you should include the four pari header files
in your source, predefine RISC_OS and supress warnings with -wdfvna.
To compile the example supplied change <genpari.h> to "genpari.h"
ORIGINAL FILES
Unix name RISC_OS name
Buglist pari.other.Buglist
Changes pari.other.changes
Changes1.31-1.35 pari.other.changes1
FILES pari.other.FILES
INSTALLATION pari.other.INSTALL
Makefile.port pari.other.Makefile_p
Makefile.readline pari.other.Makefile_r
Makefile.sun3 pari.other.Makefile_s
Makefile.sun4 pari.other.Makefile_4
Newin1.36 pari.other.Newin1_36
README pari.README
alglin1.c pari.c.alglin1
alglin2.c pari.c.alglin2
anal.c pari.c.anal
arith1.c pari.c.arith1
arith2.c pari.c.arith2
base.c pari.c.base
bibli1.c pari.c.bibli1
bibli2.c pari.c.bibli2
elliptic.c pari.c.elliptic
erreurs.h pari.h.erreurs
errmessages.c pari.c.errmessage
es.c pari.c.es (Modified)
gen1.c pari.c.gen1
gen2.c pari.c.gen2
gen3.c pari.c.gen3
gen68k.h pari.other.gen68k_h
gencom.h pari.h.gencom
genpari68k.h pari.other.genpari68k
genpariother.h pari.h.genpari (Modified)
genport.h pari.h.genport
gp.c pari.c.gp (Modified)
gpreadline.c pari.other.gpreadline
helpmessages.c pari.c.helpmsg
init.c pari.c.init
mp.ami pari.other.mp_ami
mp.c pari.c.mp
mp.news pari.other.mp_news
mp.s pari.other.mp_s
pari.el pari.other.pari_el
pari.elc pari.other.pari_elc
pari.menu pari.other.pari_menu
pari.txt pari.other.pari_txt
plot.X pari.other.plot_X
plot.null pari.other.plot_null
plot.sun pari.other.plot_sun
plotdummy.c pari.c.plotdummy
polarit1.c pari.c.polarit1
polarit2.c pari.c.polarit2
sparc.s pari.other.sparc_s
testin pari.testin
testout pari.testout
trans1.c pari.c.trans1
trans2.c pari.trans2
trans3.c pari.c.trans3
version68k.c pari.other.version68k
versionport.c pari.c.version
versionsparc.c pari.other.versionspa
tex/Makefile pari.tex.Makefile
tex/appa.tex pari.tex.appa.tex
tex/appb.tex pari.tex.appb.tex
tex/appc.tex pari.tex.appc.tex
tex/appd.tex pari.tex.appd.tex
tex/index.tex pari.tex.index.tex
tex/titlepage.tex pari.tex.titlepage.tex
tex/tutorial.tex pari.tex.tutorial.tex
tex/users.tex pari.tex.users.tex
tex/usersch1.tex pari.tex.usersch1.tex
tex/usersch2.tex pari.tex.usersch2.tex
tex/usersch3.tex pari.tex.usersch3.tex
tex/usersch4.tex pari.tex.usersch4.tex
tex/usersch5.tex pari.tex.usersch5.tex
example/Makefile pari.example.Makefile
example/Makesimple pari.example.Makesimple
example/mattrans.c pari.example.mattrans_c
example/squfof.gp pari.example.squfof_gp
TO DO
It would be nice to implement high resolution graphics.
Let me know if you have any problems with or find any interesting uses for
gp or pari.
Chris Stretch
cdtp13%uk.ac.ulster.ucvax